package com.chixing.day14_map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * Map<key,Value>
 *     key:唯一 (不能重复)
 */
public class mapDemo {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap<>();
        map.put("英国",10);
        map.put("日本",20);
        map.put("伊朗",12);
        map.put("伊朗",14);
        map.put("null",14);
        map.put("俄罗斯",null);
        map.put("俄罗斯",12);
        map.put("新西兰",13);
        System.out.println(map);


        //1. 获得map键值对的个数
        System.out.println("键值对的个数: " + map.size());
        //2. 获得新西兰 对应的金牌数
        System.out.println("新西兰对应的金牌数: " + map.get("新西兰"));
        //3. 判断 中国的数据是否存在
        System.out.println("中国的数据是否存在: " + map.containsKey("中国"));
        //4. 获得到所有的 key 国家名称，并遍历出来
        for (String key : map.keySet()){
            System.out.println(key);
        }
        //5. 获得到所有的 value 金牌数，并遍历出来
        for (Integer value : map.values()){
            System.out.println(value);
        }
        //6. 获得到所有的 key-value，并遍历出来
        for (Map.Entry<String,Integer> entry : map.entrySet()){
            System.out.println("Key: " + entry.getKey() + "   Value: "  + entry.getValue());
        }
        Set<Map.Entry<String,Integer>> entrySet = map.entrySet();
        Iterator<Map.Entry<String,Integer>> it = entrySet.iterator();
        while (it.hasNext()){
            Map.Entry<String,Integer> entry =it.next();
            entry.getKey();
            entry.getValue();
        }
        //7. 删除日本这条记录
        System.out.println(map.remove("日本"));
        System.out.println("删除日本后: " + map);




    }
}
